﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;

namespace Elegant2.Business.Util
{
    class XMLManager
    {

        private XmlTextReader xmlReader;

        /// <summary>
        /// Abre um arquivo de leitura XML
        /// </summary>
        /// <param name="filePath">caminho do arquivo de leitura</param>
        public void openXMLFile(string filePath)
        {
            
            this.xmlReader = new XmlTextReader(filePath);

        }

        /// <summary>
        /// Lê o próximo nó do arquivo de leitura XML
        /// </summary>
        /// <returns>retorna true se conseguir ler com sucesso.</returns>
        public bool readNextNode()
        {
            return this.xmlReader.Read();
        }

        /// <summary>
        /// Pega o tipo do nó atual
        /// </summary>
        /// <returns>retorna um XmlNodeType com o tipo do nó</returns>
        public XmlNodeType getNodeType()
        {
            return xmlReader.NodeType;
        }

        /// <summary>
        /// Verifica se é o final do elemento
        /// </summary>
        /// <returns>retorna verdadeiro ser for o final do elemento</returns>
        public bool isEndElement()
        {
            return (this.xmlReader.NodeType == XmlNodeType.EndElement);
        }

        /// <summary>
        /// Verifica se é um elemento
        /// </summary>
        /// <returns>retorna verdadeiro se for um elemento.</returns>
        public bool isElement()
        {
            return (this.xmlReader.NodeType == XmlNodeType.Element);
        }

        /// <summary>
        /// Pega o nome do nó atual
        /// </summary>
        /// <returns>retorna o nome do nó atual</returns>
        public string getName(){
            return xmlReader.Name;
        }
    }
}
